A programming or software development tool is a program or application used by software developers to create, debug, maintain, or otherwise support other programs and applications. Programming tools can be integrated into an IDE (integrated development environment) that consolidates functionality into one place or can be used by external software as exemplified by the use of Unix shell tools with text editors like Vim and Emacs. Programming tools can be interactive or can be static. Interactive programming tools provide information to a program developer as the developer is writing the program while static programming tools run offline and provide information to the developer after the fact. One popular type of interactive programming tool provides dynamic documentation and disambiguation information such as: a list of members for a class, a list of parameters for a function, a list of defined classes, a list of types for type declarations and so on. Dynamic documentation and disambiguation information is displayed in response to information received from the developer. An example of such a dynamic display is, in response to a developer typing the name of a method, a list of valid parameters for the method might be displayed.